package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFrienDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;

/**
 * @author zzb
 * @version 1.0
 * @create 2020/12/24 10:28
 */
@Service
@Transactional
public class FriendService {
    @Autowired
    private FriendDao friendDao;
    @Autowired
    private NoFrienDao noFrienDao;
    //添加好友
    public int addFriend(String id, String friendid) {
        //添加前根据用户id查询是否添加过
        int count = friendDao.selectCount(id,friendid);
        if (count > 0){
            return 0;
        }
        //添加好友,构造一个好友对象
        Friend friend = new Friend();
        friend.setUserid(id);
        friend.setFriendid(friendid);
        friend.setIslike("0");
        //保存到数据库中
        friendDao.save(friend);

        //查询好友表中是否有添加我为好友的记录
        count = friendDao.selectCount(friendid,id);
        if (count > 0){
            //修改islike的值
            friendDao.updateIsLike(id,friendid,"1");
            friendDao.updateIsLike(friendid,id,"1");
        }
        return 1;
    }

    //删除好友
    public void delete(String userId, String friendid) {
        //从好友表整删除记录
        friendDao.deleteUser(userId,friendid);
        //同时更新对方islike值为0
        friendDao.updateIsLike(friendid,userId,"0");
        //向非好友表中添加一条记录
        NoFriend nofriend = new NoFriend(userId,friendid);
        noFrienDao.save(nofriend);
    }
}
